#pragma once
#include <vector>
#include <string>
#include <array>

namespace Viewer
{
class ViewerReader
{
  public:
    typedef std::array<double, 12 /*pose dimension*/> PoseType;
    ViewerReader() = delete;
    virtual ~ViewerReader() = default;

    ViewerReader(std::string filename);

    void readSingleFile(std::string filename);

    void readAllFiles();
    // file names container..
    std::vector<std::string> mvFileNames_;

    // pose variable container.. Pose container should be the same size with file names container, and the member
    // of pose container is the poses corresponding to the file names container.
    std::vector<PoseType> mvPoseVariables_;

    std::vector< std::vector<PoseType> > mvvPoseVariables_;
};
}